package top.csmcool.musicapi.service;

/*
 * @description
 * @date 2025/1/27
 * @author shijin
 * @version 1.0
 */

import cn.dev33.satoken.stp.SaTokenInfo;
import org.springframework.web.bind.annotation.RequestBody;
import top.csmcool.musicapi.domain.UserPlatformBindInfo;
import top.csmcool.musicapi.domain.Users;
import top.csmcool.musicapi.model.playlist.PlayListMusicInfo;
import top.csmcool.musicapi.model.playlist.TracksRequest;
import top.csmcool.musicapi.model.result.Request;
import top.csmcool.musicapi.model.result.Result;
import top.csmcool.musicapi.model.system.PlatformInfo;
import top.csmcool.musicapi.model.user.UserLogin;

import java.util.List;

public interface UserService {

    Result<SaTokenInfo> login(@RequestBody Request<UserLogin> requestRequest);


    Result<SaTokenInfo> adminLogin(Request<UserLogin> requestRequest);

    Result<Users> getUserInfo();

    Result<List<PlatformInfo>> getUserPlatform();

    Result<List<UserPlatformBindInfo>> getPlatformInfos();

    Result<Users> updateUserInfo(Request<Users> request);

    Result<UserPlatformBindInfo> updatePlatformInfo(Request<UserPlatformBindInfo> request);
}
